lexer grammar swt;
@members {
	 private List<ErrorMsg> errors = new ArrayList<ErrorMsg>();
	public List<ErrorMsg> getErrors() {
		return errors;
	}

	public String getErrorMessage(RecognitionException e, String[] tokenNames) {
		String msg = super.getErrorMessage(e,tokenNames);
		errors.add(AntlrUtil.create(msg,e,tokenNames));
		return msg;
	}
}
@header {
package org.eclipsecon.dui.dsl.swt.parser;

import org.openarchitectureware.xtext.parser.ErrorMsg;
import org.openarchitectureware.xtext.parser.impl.AntlrUtil;

}

T10 : 'composite' ;
T11 : '[' ;
T12 : '|' ;
T13 : ']' ;
T14 : '(' ;
T15 : 'layout' ;
T16 : ':' ;
T17 : 'layoutData' ;
T18 : 'bgColor' ;
T19 : 'fgColor' ;
T20 : 'font' ;
T21 : ')' ;
T22 : '{' ;
T23 : '}' ;
T24 : ',' ;
T25 : 'button' ;
T26 : 'onClick' ;
T27 : 'label' ;
T28 : 'template' ;
T29 : 'text' ;
T30 : 'grid' ;
T31 : 'equalWidth' ;
T32 : 'wMargin' ;
T33 : '=' ;
T34 : 'hMargin' ;
T35 : 'gridData' ;
T36 : 'wHint' ;
T37 : 'hHint' ;
T38 : 'hSpan' ;
T39 : 'vSpan' ;
T40 : 'grabHSpace' ;
T41 : 'grabVSpace' ;
T42 : 'beginning' ;
T43 : 'center' ;
T44 : 'end' ;
T45 : 'fill' ;
T46 : 'default' ;
T47 : 'border' ;
T48 : 'single' ;
T49 : 'multi' ;
T50 : 'check' ;
T51 : 'radio' ;
T52 : 'push' ;
T53 : 'toggle' ;
T54 : 'password' ;
T55 : 'readOnly' ;
T56 : 'separator' ;
T57 : 'bold' ;
T58 : 'italic' ;
T59 : 'normal' ;
T60 : 'bundle' ;
T61 : 'class' ;
T62 : '.' ;
T63 : 'combo' ;
T64 : 'px' ;

// $ANTLR src "..//org.eclipsecon.dui.dsl.swt/src-gen/org/eclipsecon/dui/dsl/swt/parser/swt.g" 2127
RULE_ID :

	 ('^')?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*
	 
;

// $ANTLR src "..//org.eclipsecon.dui.dsl.swt/src-gen/org/eclipsecon/dui/dsl/swt/parser/swt.g" 2133
RULE_STRING :

	 '\"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\"') )* '\"' |
	 '\'' ( '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') | ~('\\'|'\'') )* '\''
	 
;

// $ANTLR src "..//org.eclipsecon.dui.dsl.swt/src-gen/org/eclipsecon/dui/dsl/swt/parser/swt.g" 2140
RULE_INT :

	 ('-')?('0'..'9')+
	 
;

// $ANTLR src "..//org.eclipsecon.dui.dsl.swt/src-gen/org/eclipsecon/dui/dsl/swt/parser/swt.g" 2146
RULE_WS :

	 (' '|'\t'|'\r'|'\n')+ {$channel=HIDDEN;}
	 
;

// $ANTLR src "..//org.eclipsecon.dui.dsl.swt/src-gen/org/eclipsecon/dui/dsl/swt/parser/swt.g" 2152
RULE_ML_COMMENT :

	 '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;}
	 
;

// $ANTLR src "..//org.eclipsecon.dui.dsl.swt/src-gen/org/eclipsecon/dui/dsl/swt/parser/swt.g" 2158
RULE_SL_COMMENT :

	 '//' ~('\n'|'\r')* '\r'? '\n' {$channel=HIDDEN;}
	 
;

